package com.dingli.shop.controller.lyh;

import com.dingli.shop.biz.ManBiz;
import com.dingli.shop.po.ManVO;
import com.dingli.shop.po.MannerVO;
import com.dingli.shop.vo.JsonVo;
import com.dingli.shop.vo.Man;
import com.dingli.shop.vo.ManUp;
import com.dingli.shop.vo.Meta;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@CrossOrigin
@Controller
public class ManController {
    @Autowired
    private ManBiz manBiz;

//    查询
    @GetMapping("/users")
    public @ResponseBody
    JsonVo manager(@RequestParam String query,
                   @RequestParam Integer pagenum,
                   @RequestParam Integer pagesize){
        List<ManVO> managerVO=null;
//        如果传入的query为空，则查询表中的全部信息
        if(query==null || query==""){
            managerVO= manBiz.SelectOne();
        }else {
//            如果不为空，则查询限定的信息
            managerVO= manBiz.SelectAll(query);
        }
        Meta meta = new Meta();
        MannerVO usersVO=new MannerVO();
        if (managerVO == null) {
            meta.setMsg("没有找到用户");
            meta.setStatus(400);
        } else {
            meta.setMsg("获取用户列表成功");
            meta.setStatus(200);
        }
        int totalpage=manBiz.numManager();
        usersVO.setPagenum(pagenum);
        usersVO.setTotalpage(totalpage);
        usersVO.setUsers(managerVO);
        JsonVo jsonVo = new JsonVo();
        jsonVo.setData(usersVO);
        jsonVo.setMeta(meta);
        return jsonVo;

    }

//    删除单个管理员信息
    @DeleteMapping("/users")
    public @ResponseBody
    JsonVo delete(
           @RequestParam int delid
    ){
        System.out.println(delid);
        manBiz.DeleteOne(delid);
        Meta meta = new Meta();
        meta.setMsg("删除成功");
        meta.setStatus(200);
        JsonVo jsonVo = new JsonVo();
        jsonVo.setMeta(meta);
        return jsonVo;
    }

    @PostMapping("/users")
    public  @ResponseBody
    JsonVo insert(@RequestBody Man man ){
        int manVO=manBiz.InsertOne(man);
        Meta meta = new Meta();
        if(manVO == 0){
            meta.setMsg("新增用户信息失败");
            meta.setStatus(400);
        }else{
            meta.setMsg("新增用户信息成功");
            meta.setStatus(200);
        }
        JsonVo jsonVo = new JsonVo();
        jsonVo.setData(manVO);
        jsonVo.setMeta(meta);
        return jsonVo;
    }
    @PutMapping("/users")
    public  @ResponseBody
    JsonVo update(@RequestBody ManUp man){
        int manVO=manBiz.UpdateOne(man);
        Meta meta=new Meta();
        if(manVO == 0){
            meta.setMsg("修改用户信息失败");
            meta.setStatus(400);
        }else{
            meta.setMsg("修改用户信息成功");
            meta.setStatus(200);
        }
        JsonVo jsonVo = new JsonVo();
        jsonVo.setData(manVO);
        jsonVo.setMeta(meta);
        return jsonVo;
    }
    }


//    @GetMapping("/findusers")
////    @DeleteMapping("/users")
//    public @ResponseBody
//    JsonVo find(@RequestParam String username){
//        List<ManVO> managerVO= manBiz.SelectAll(username);
//        Meta meta = new Meta();
//        MannerVO usersVO=new MannerVO();
//        if (managerVO == null) {
//            meta.setMsg("没有找到用户");
//            meta.setStatus(400);
//        } else {
//            meta.setMsg("获取用户成功");
//            meta.setStatus(200);
//        }
//        int totalpag=1;
//        int pagenu=1;
//        usersVO.setPagenum(pagenu);
//        usersVO.setTotalpage(totalpag);
//        usersVO.setUsers(managerVO);
//        JsonVo jsonVo = new JsonVo();
//        jsonVo.setData(usersVO);
//        jsonVo.setMeta(meta);
//        return jsonVo;
//
//    }

